STAAD.Pro Help

OS. OpenSTAADを初期化してノード座標を計算するには

  1. 次のコマンドを入力して、OpenSTAADを初期化します。
           Dim objOpenSTAAD As Object
           Set objOpenSTAAD = GetObject(,"StaadPro.OpenSTAAD")
    このコマンドにより、STAAD.Proとプログラム内で現在開いているモデルへの接続が開きます。
    注記: OpenSTAADは任意の変数に初期化できます。ここでは、objOpenSTAADを使用しています。
  2. 次のコマンドを入力して、変数のgeometryクラスを参照します。
            Dim geometry As OSGeometryUI
            Set geometry = objOpenSTAAD.Geometry
  3. 次の2つのForループを入力して、フレーム内の各ノードのノード座標を計算します。
    注記: これは2Dフレームであるため、ネストされた2つのループが使用されています。Z座標は前にゼロに設定されていて変更されません。
            'Nodes
            For j = 2 To (row + 2)
                For i = 1 To (clmn + 1)
                    crdx = (i - 1) * wdth
                    geometry.AddNode crdx, crdy, crdz
                Next
                crdy = (j - 1) * ht
            Next
    注記: Forループを閉じるNextコマンドは、Forコマンドラインを入力した後に<Enter>キーを押すと自動的に追加されます。
  4. 次のコマンドを入力して、変数のsupportクラスを参照します。
            Dim support As OSSupportUI
            Set support = objOpenSTAAD.Support
  5. 次のIf ElseIf文を入力して、目的のサポートタイプを取得します。 サポートが作成され、返されたサポート参照番号が変数s1に格納されます。

    意図したサポートタイプがどちらも指定されていない可能性を考慮して"フォールバック"も追加されており、その場合はユーザーにエラーメッセージが表示されます。

            'Supports
            If sprt = "0" Then
                s1 = support.CreateSupportFixed()
            ElseIf sprt = "1" Then
                s1 = support.CreateSupportPinned()
            Else
                MsgBox("Select Proper Support Type",vbOkOnly,"Error")
                Exit Sub
            End If
    注記: OpenSTAADコマンドsupport.CreateSupportFixedを使用すると、戻り値を使用せずに単に新しいサポートを作成することもできます。ただし、最後に括弧を追加することで、返されるサポート参照番号をスクリプトで取得し、それを変数に格納することができます。
  6. 次の行を入力して、返されたサポート参照番号に対するデバッグ文を追加します。
            Debug.Print "Support return value = ";s1
  7. 次のように入力して、フレーム内の下部ノードにサポートタイプを割り当てます。
            For i1 = 1 To (clmn + 1)
                support.AssignSupportToNode i1,s1
            Next
ヒント: これまでの作業を一度保存することをお勧めします。